package com.tedu;

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.net.URL;

/**
 * 游戏页面：具体实现游戏页面的内容
 */
public class GameJPanel extends JPanel implements KeyListener {

    //属性
    private Toolkit toolkit;//工具类
    private Image bg;//背景图片
    private Image caodi;//草地图片
    private Image js1; // 树
    private Image player;// 玩家
    private Image n10;// 敌方

    private Ninja ninja;//玩家忍者


    /**
     * 构造方法： 在new创建对象时，调用
     */
    public GameJPanel(){
        toolkit = Toolkit.getDefaultToolkit();
        //图片路径：项目的路径+图片文件的路径
        bg = toolkit.getImage(GameMain.class.getResource("/t1.png"));
        caodi = toolkit.getImage(GameMain.class.getResource("/caodi.png"));
        js1 = toolkit.getImage(GameMain.class.getResource("/js1.png"));
        player = toolkit.getImage(GameMain.class.getResource("/player.png"));
        n10 = toolkit.getImage(GameMain.class.getResource("/n10.png"));

        ninja = new Ninja(300,300,33,40,player,1);
        //添加键盘事件
        this.addKeyListener(this);
    }

    //重写JPanel的绘制背景的方法
    // paint方法，有jvm自动调用；页面发生变化  在执行repaint方法时，自动调用
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        //画背景
        drawbg(g);
        //玩家忍者
        ninja.moveanddraw(g);

        g.drawImage(n10,400,0,null);


        System.out.println("-----"+ninja.getIndex());
        if(ninja.getIndex()>6){
            ninja.setIndex(1);
        }

        ninja.setIndex(ninja.getIndex()+1);
    }

    /**
     * 绘制游戏背景
     * @param g
     */
    public void drawbg(Graphics g){
//        g.drawString("我是一个忍者战士",500,200);
        //绘制背景
        g.drawImage(bg,0,0,880,645,null);
        // 绘制游戏草地
        g.drawImage(caodi,0,530-70,null);
        g.drawImage(caodi,179,530-70,null);
        g.drawImage(caodi,179*2,530-70,null);
        g.drawImage(caodi,179*3,530-70,null);
        g.drawImage(caodi,179*4,530-70,null);
        //绘制树
        g.drawImage(js1,100,410,null);

        g.drawImage(js1,500,410,null);
        g.drawImage(js1,720,410,null);
    }

    @Override
    public void keyTyped(KeyEvent e) {

    }

    // 按下
    @Override
    public void keyPressed(KeyEvent e) {
        // 按下  修改 忍者的xy和图片index


    }

    @Override
    public void keyReleased(KeyEvent e) {

    }
}
